package com.xuwang.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.sql.Timestamp;

/**
 * @ClassName SupervisoryInformationDto
 * @Description TODO
 * @Author OuJunchen
 * @Date 2021/9/23 上午10:48
 * @Version 1.0
 */
public class SupervisoryInformationDto {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Integer id;

    /**
     * 网格责任人
     */
    @ApiModelProperty(value = "网格责任人")
    private String name;

    /**
     * 综合信息
     */
    @ApiModelProperty(value = "综合信息")
    private Integer comprehensiveGrade;

    /**
     * 企业信息表
     */
    @ApiModelProperty(value = "企业信息表")
    private Integer companyInfoId;

    /**
     * 企业名称
     */
    @ApiModelProperty(name = "companyName",notes = "企业名称",dataType = "String",required = true)
    private String companyName;

    /**
     * 联系电话
     */
    @ApiModelProperty(name = "contactPhone",notes = "联系电话",dataType = "String",required = true)
    private String contactPhone;

    /**
     * 联系人
     */
    @ApiModelProperty(name = "contactPerson",notes = "联系人",dataType = "String",required = true)
    private String contactPerson;

    /**
     * 职工人数
     */
    @ApiModelProperty(name = "staffCount",notes = "职工人数",dataType = "Integer",required = true)
    private Integer staffCount;

    /**
     * 法定代表人
     */
    @ApiModelProperty(name = "legalRepresentative",notes = "法定代表人",dataType = "String",required = true)
    private String legalRepresentative;

    /**
     * 企业所在地址
     */
    @ApiModelProperty(name = "address",notes = "企业所在地址",dataType = "String",required = true)
    private String address;

    /**
     * 所在区域
     */
    @ApiModelProperty(name = "area",notes = "所在区域",dataType = "String",required = true)
    private String area;

    /**
     * 备注
     */
    @ApiModelProperty(name = "remark",notes = "备注",dataType = "String",required = true)
    private String remark;

    /**
     * 类别
     */
    @ApiModelProperty(name = "type",notes = "类别",dataType = "String",required = true)
    private String type;

    /**
     * 许可证号
     */
    @ApiModelProperty(name = "licenseKey",notes = "许可证号",dataType = "String",required = true)
    private String licenseKey;

    /**
     * 有效截止日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @ApiModelProperty(name = "validEndTime",notes = "有效截止日期",dataType = "Date",required = true)
    private Timestamp validEndTime;

    /**
     * 发证日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    @ApiModelProperty(name = "createTime",notes = "发证日期",dataType = "Date",required = true)
    private Timestamp createTime;

    /**
     * 发证机关
     */
    @ApiModelProperty(name = "licensingAuthority",notes = "发证机关",dataType = "String",required = true)
    private String licensingAuthority;

    @Override
    public String toString () {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"id\":")
                .append(id);
        sb.append(",\"name\":\"")
                .append(name).append('\"');
        sb.append(",\"comprehensiveGrade\":")
                .append(comprehensiveGrade);
        sb.append(",\"companyInfoId\":")
                .append(companyInfoId);
        sb.append(",\"companyName\":\"")
                .append(companyName).append('\"');
        sb.append(",\"contactPhone\":\"")
                .append(contactPhone).append('\"');
        sb.append(",\"contactPerson\":\"")
                .append(contactPerson).append('\"');
        sb.append(",\"staffCount\":")
                .append(staffCount);
        sb.append(",\"legalRepresentative\":\"")
                .append(legalRepresentative).append('\"');
        sb.append(",\"address\":\"")
                .append(address).append('\"');
        sb.append(",\"area\":\"")
                .append(area).append('\"');
        sb.append(",\"remark\":\"")
                .append(remark).append('\"');
        sb.append(",\"type\":\"")
                .append(type).append('\"');
        sb.append(",\"licenseKey\":\"")
                .append(licenseKey).append('\"');
        sb.append(",\"validEndTime\":\"")
                .append(validEndTime).append('\"');
        sb.append(",\"createTime\":\"")
                .append(createTime).append('\"');
        sb.append(",\"licensingAuthority\":\"")
                .append(licensingAuthority).append('\"');
        sb.append('}');
        return sb.toString();
    }

    public Integer getId () {
        return id;
    }

    public void setId (Integer id) {
        this.id = id;
    }

    public String getName () {
        return name;
    }

    public void setName (String name) {
        this.name = name;
    }

    public Integer getComprehensiveGrade () {
        return comprehensiveGrade;
    }

    public void setComprehensiveGrade (Integer comprehensiveGrade) {
        this.comprehensiveGrade = comprehensiveGrade;
    }

    public Integer getCompanyInfoId () {
        return companyInfoId;
    }

    public void setCompanyInfoId (Integer companyInfoId) {
        this.companyInfoId = companyInfoId;
    }

    public String getCompanyName () {
        return companyName;
    }

    public void setCompanyName (String companyName) {
        this.companyName = companyName;
    }

    public String getContactPhone () {
        return contactPhone;
    }

    public void setContactPhone (String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getContactPerson () {
        return contactPerson;
    }

    public void setContactPerson (String contactPerson) {
        this.contactPerson = contactPerson;
    }

    public Integer getStaffCount () {
        return staffCount;
    }

    public void setStaffCount (Integer staffCount) {
        this.staffCount = staffCount;
    }

    public String getLegalRepresentative () {
        return legalRepresentative;
    }

    public void setLegalRepresentative (String legalRepresentative) {
        this.legalRepresentative = legalRepresentative;
    }

    public String getAddress () {
        return address;
    }

    public void setAddress (String address) {
        this.address = address;
    }

    public String getArea () {
        return area;
    }

    public void setArea (String area) {
        this.area = area;
    }

    public String getRemark () {
        return remark;
    }

    public void setRemark (String remark) {
        this.remark = remark;
    }

    public String getType () {
        return type;
    }

    public void setType (String type) {
        this.type = type;
    }

    public String getLicenseKey () {
        return licenseKey;
    }

    public void setLicenseKey (String licenseKey) {
        this.licenseKey = licenseKey;
    }

    public Timestamp getValidEndTime () {
        return validEndTime;
    }

    public void setValidEndTime (Timestamp validEndTime) {
        this.validEndTime = validEndTime;
    }

    public Timestamp getCreateTime () {
        return createTime;
    }

    public void setCreateTime (Timestamp createTime) {
        this.createTime = createTime;
    }

    public String getLicensingAuthority () {
        return licensingAuthority;
    }

    public void setLicensingAuthority (String licensingAuthority) {
        this.licensingAuthority = licensingAuthority;
    }
}
